Mathematica 3. del

Rekurzivne definicije

n!

Clear[f];
f[n_]:=n f[n-1];
f[0]:=1;

f[6]

f[100]

?f

6!

Fibonaccijeva števila

Clear[F];
F[n_]:=F[n-1]+F[n-2];
F[0]=F[1]=1;

?F

Table[F[n],{n,0,10}]

F[15]

F[25]

F[26]//Timing

F[27]//Timing

F[28]//Timing

F[30]//Timing

?F

Clear[F];
F[n_]:=F[n]=F[n-1]+F[n-2];
F[0]=F[1]=1;

F[30]//Timing

?F

F[1000]//Timing

$RecursionLimit=Infinity

Clear[F];
F[n_]:=F[n]=F[n-1]+F[n-2];
F[0]=F[1]=1;

F[1000]//Timing

Clear[s];
s[n_]:=s[n-1]+s[n-2]+1;
s[0]=s[1]=0;

Table[s[n],{n,0,10}]

%+1

Table[F[n],{n,0,10}]

Table[F[n]Sqrt[5.]/((1+Sqrt[5.])/2)^(n+1),{n,1,20}]

Vzorci

Odvajanje elementarnih funkcij

ClearAll[d];

(* odvod identitete in odvod konstante *)

d[x_,x_]:=1;
d[c_,x_]/;FreeQ[c,x]:=0;

(* pravila za odvod vsote, produkta in potence *)

d[f_+g_,x_]:=d[f,x]+d[g,x];
d[f_ g_,x_]:=d[f,x]g+f d[g,x];
d[f_^g_,x_]:=f^g(d[g,x]Log[f]+g d[f,x]/f);

(* verižno pravilo za odvod sestavljene funkcije *)

d[f_[g_],x_]/;g=!=x := d[f[g],g]d[g,x];

(* odvodi transcendentnih funkcij *)

d[Sin[x_],x_]:=Cos[x];
d[Cos[x_],x_]:=-Sin[x];
d[Tan[x_],x_]:=1/Cos[x]^2;
d[Log[x_],x_]:=1/x;

d[5x^3-7x^2+2x-1,x]

D[5x^3-7x^2+2x-1,x]

d[(3x-1)/(5x^3-7x^2+2x-1),x]

D[(3x-1)/(5x^3-7x^2+2x-1),x]

d[Sin[x]Cos[x],x]

D[Sin[x]Cos[x],x]

d[Sin[x^3],x]

D[Sin[x^3],x]

d[Sin[x]^3,x]

D[Sin[x]^3,x]

d[x^x,x]

D[x^x,x]

d[Exp[x]^Log[x],x]

D[Exp[x]^Log[x],x]